package com.ygou.pojo;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class GoodsExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public GoodsExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andGoodsidIsNull() {
            addCriterion("goodsId is null");
            return (Criteria) this;
        }

        public Criteria andGoodsidIsNotNull() {
            addCriterion("goodsId is not null");
            return (Criteria) this;
        }

        public Criteria andGoodsidEqualTo(Integer value) {
            addCriterion("goodsId =", value, "goodsid");
            return (Criteria) this;
        }

        public Criteria andGoodsidNotEqualTo(Integer value) {
            addCriterion("goodsId <>", value, "goodsid");
            return (Criteria) this;
        }

        public Criteria andGoodsidGreaterThan(Integer value) {
            addCriterion("goodsId >", value, "goodsid");
            return (Criteria) this;
        }

        public Criteria andGoodsidGreaterThanOrEqualTo(Integer value) {
            addCriterion("goodsId >=", value, "goodsid");
            return (Criteria) this;
        }

        public Criteria andGoodsidLessThan(Integer value) {
            addCriterion("goodsId <", value, "goodsid");
            return (Criteria) this;
        }

        public Criteria andGoodsidLessThanOrEqualTo(Integer value) {
            addCriterion("goodsId <=", value, "goodsid");
            return (Criteria) this;
        }

        public Criteria andGoodsidIn(List<Integer> values) {
            addCriterion("goodsId in", values, "goodsid");
            return (Criteria) this;
        }

        public Criteria andGoodsidNotIn(List<Integer> values) {
            addCriterion("goodsId not in", values, "goodsid");
            return (Criteria) this;
        }

        public Criteria andGoodsidBetween(Integer value1, Integer value2) {
            addCriterion("goodsId between", value1, value2, "goodsid");
            return (Criteria) this;
        }

        public Criteria andGoodsidNotBetween(Integer value1, Integer value2) {
            addCriterion("goodsId not between", value1, value2, "goodsid");
            return (Criteria) this;
        }

        public Criteria andGoddstitleIsNull() {
            addCriterion("goddsTitle is null");
            return (Criteria) this;
        }

        public Criteria andGoddstitleIsNotNull() {
            addCriterion("goddsTitle is not null");
            return (Criteria) this;
        }

        public Criteria andGoddstitleEqualTo(String value) {
            addCriterion("goddsTitle =", value, "goddstitle");
            return (Criteria) this;
        }

        public Criteria andGoddstitleNotEqualTo(String value) {
            addCriterion("goddsTitle <>", value, "goddstitle");
            return (Criteria) this;
        }

        public Criteria andGoddstitleGreaterThan(String value) {
            addCriterion("goddsTitle >", value, "goddstitle");
            return (Criteria) this;
        }

        public Criteria andGoddstitleGreaterThanOrEqualTo(String value) {
            addCriterion("goddsTitle >=", value, "goddstitle");
            return (Criteria) this;
        }

        public Criteria andGoddstitleLessThan(String value) {
            addCriterion("goddsTitle <", value, "goddstitle");
            return (Criteria) this;
        }

        public Criteria andGoddstitleLessThanOrEqualTo(String value) {
            addCriterion("goddsTitle <=", value, "goddstitle");
            return (Criteria) this;
        }

        public Criteria andGoddstitleLike(String value) {
            addCriterion("goddsTitle like", value, "goddstitle");
            return (Criteria) this;
        }

        public Criteria andGoddstitleNotLike(String value) {
            addCriterion("goddsTitle not like", value, "goddstitle");
            return (Criteria) this;
        }

        public Criteria andGoddstitleIn(List<String> values) {
            addCriterion("goddsTitle in", values, "goddstitle");
            return (Criteria) this;
        }

        public Criteria andGoddstitleNotIn(List<String> values) {
            addCriterion("goddsTitle not in", values, "goddstitle");
            return (Criteria) this;
        }

        public Criteria andGoddstitleBetween(String value1, String value2) {
            addCriterion("goddsTitle between", value1, value2, "goddstitle");
            return (Criteria) this;
        }

        public Criteria andGoddstitleNotBetween(String value1, String value2) {
            addCriterion("goddsTitle not between", value1, value2, "goddstitle");
            return (Criteria) this;
        }

        public Criteria andGoodstypeidIsNull() {
            addCriterion("goodsTypeId is null");
            return (Criteria) this;
        }

        public Criteria andGoodstypeidIsNotNull() {
            addCriterion("goodsTypeId is not null");
            return (Criteria) this;
        }

        public Criteria andGoodstypeidEqualTo(Long value) {
            addCriterion("goodsTypeId =", value, "goodstypeid");
            return (Criteria) this;
        }

        public Criteria andGoodstypeidNotEqualTo(Long value) {
            addCriterion("goodsTypeId <>", value, "goodstypeid");
            return (Criteria) this;
        }

        public Criteria andGoodstypeidGreaterThan(Long value) {
            addCriterion("goodsTypeId >", value, "goodstypeid");
            return (Criteria) this;
        }

        public Criteria andGoodstypeidGreaterThanOrEqualTo(Long value) {
            addCriterion("goodsTypeId >=", value, "goodstypeid");
            return (Criteria) this;
        }

        public Criteria andGoodstypeidLessThan(Long value) {
            addCriterion("goodsTypeId <", value, "goodstypeid");
            return (Criteria) this;
        }

        public Criteria andGoodstypeidLessThanOrEqualTo(Long value) {
            addCriterion("goodsTypeId <=", value, "goodstypeid");
            return (Criteria) this;
        }

        public Criteria andGoodstypeidIn(List<Long> values) {
            addCriterion("goodsTypeId in", values, "goodstypeid");
            return (Criteria) this;
        }

        public Criteria andGoodstypeidNotIn(List<Long> values) {
            addCriterion("goodsTypeId not in", values, "goodstypeid");
            return (Criteria) this;
        }

        public Criteria andGoodstypeidBetween(Long value1, Long value2) {
            addCriterion("goodsTypeId between", value1, value2, "goodstypeid");
            return (Criteria) this;
        }

        public Criteria andGoodstypeidNotBetween(Long value1, Long value2) {
            addCriterion("goodsTypeId not between", value1, value2, "goodstypeid");
            return (Criteria) this;
        }

        public Criteria andGoodsthumsIsNull() {
            addCriterion("goodsThums is null");
            return (Criteria) this;
        }

        public Criteria andGoodsthumsIsNotNull() {
            addCriterion("goodsThums is not null");
            return (Criteria) this;
        }

        public Criteria andGoodsthumsEqualTo(String value) {
            addCriterion("goodsThums =", value, "goodsthums");
            return (Criteria) this;
        }

        public Criteria andGoodsthumsNotEqualTo(String value) {
            addCriterion("goodsThums <>", value, "goodsthums");
            return (Criteria) this;
        }

        public Criteria andGoodsthumsGreaterThan(String value) {
            addCriterion("goodsThums >", value, "goodsthums");
            return (Criteria) this;
        }

        public Criteria andGoodsthumsGreaterThanOrEqualTo(String value) {
            addCriterion("goodsThums >=", value, "goodsthums");
            return (Criteria) this;
        }

        public Criteria andGoodsthumsLessThan(String value) {
            addCriterion("goodsThums <", value, "goodsthums");
            return (Criteria) this;
        }

        public Criteria andGoodsthumsLessThanOrEqualTo(String value) {
            addCriterion("goodsThums <=", value, "goodsthums");
            return (Criteria) this;
        }

        public Criteria andGoodsthumsLike(String value) {
            addCriterion("goodsThums like", value, "goodsthums");
            return (Criteria) this;
        }

        public Criteria andGoodsthumsNotLike(String value) {
            addCriterion("goodsThums not like", value, "goodsthums");
            return (Criteria) this;
        }

        public Criteria andGoodsthumsIn(List<String> values) {
            addCriterion("goodsThums in", values, "goodsthums");
            return (Criteria) this;
        }

        public Criteria andGoodsthumsNotIn(List<String> values) {
            addCriterion("goodsThums not in", values, "goodsthums");
            return (Criteria) this;
        }

        public Criteria andGoodsthumsBetween(String value1, String value2) {
            addCriterion("goodsThums between", value1, value2, "goodsthums");
            return (Criteria) this;
        }

        public Criteria andGoodsthumsNotBetween(String value1, String value2) {
            addCriterion("goodsThums not between", value1, value2, "goodsthums");
            return (Criteria) this;
        }

        public Criteria andCollectnumIsNull() {
            addCriterion("collectNum is null");
            return (Criteria) this;
        }

        public Criteria andCollectnumIsNotNull() {
            addCriterion("collectNum is not null");
            return (Criteria) this;
        }

        public Criteria andCollectnumEqualTo(Integer value) {
            addCriterion("collectNum =", value, "collectnum");
            return (Criteria) this;
        }

        public Criteria andCollectnumNotEqualTo(Integer value) {
            addCriterion("collectNum <>", value, "collectnum");
            return (Criteria) this;
        }

        public Criteria andCollectnumGreaterThan(Integer value) {
            addCriterion("collectNum >", value, "collectnum");
            return (Criteria) this;
        }

        public Criteria andCollectnumGreaterThanOrEqualTo(Integer value) {
            addCriterion("collectNum >=", value, "collectnum");
            return (Criteria) this;
        }

        public Criteria andCollectnumLessThan(Integer value) {
            addCriterion("collectNum <", value, "collectnum");
            return (Criteria) this;
        }

        public Criteria andCollectnumLessThanOrEqualTo(Integer value) {
            addCriterion("collectNum <=", value, "collectnum");
            return (Criteria) this;
        }

        public Criteria andCollectnumIn(List<Integer> values) {
            addCriterion("collectNum in", values, "collectnum");
            return (Criteria) this;
        }

        public Criteria andCollectnumNotIn(List<Integer> values) {
            addCriterion("collectNum not in", values, "collectnum");
            return (Criteria) this;
        }

        public Criteria andCollectnumBetween(Integer value1, Integer value2) {
            addCriterion("collectNum between", value1, value2, "collectnum");
            return (Criteria) this;
        }

        public Criteria andCollectnumNotBetween(Integer value1, Integer value2) {
            addCriterion("collectNum not between", value1, value2, "collectnum");
            return (Criteria) this;
        }

        public Criteria andLovenumIsNull() {
            addCriterion("loveNum is null");
            return (Criteria) this;
        }

        public Criteria andLovenumIsNotNull() {
            addCriterion("loveNum is not null");
            return (Criteria) this;
        }

        public Criteria andLovenumEqualTo(Integer value) {
            addCriterion("loveNum =", value, "lovenum");
            return (Criteria) this;
        }

        public Criteria andLovenumNotEqualTo(Integer value) {
            addCriterion("loveNum <>", value, "lovenum");
            return (Criteria) this;
        }

        public Criteria andLovenumGreaterThan(Integer value) {
            addCriterion("loveNum >", value, "lovenum");
            return (Criteria) this;
        }

        public Criteria andLovenumGreaterThanOrEqualTo(Integer value) {
            addCriterion("loveNum >=", value, "lovenum");
            return (Criteria) this;
        }

        public Criteria andLovenumLessThan(Integer value) {
            addCriterion("loveNum <", value, "lovenum");
            return (Criteria) this;
        }

        public Criteria andLovenumLessThanOrEqualTo(Integer value) {
            addCriterion("loveNum <=", value, "lovenum");
            return (Criteria) this;
        }

        public Criteria andLovenumIn(List<Integer> values) {
            addCriterion("loveNum in", values, "lovenum");
            return (Criteria) this;
        }

        public Criteria andLovenumNotIn(List<Integer> values) {
            addCriterion("loveNum not in", values, "lovenum");
            return (Criteria) this;
        }

        public Criteria andLovenumBetween(Integer value1, Integer value2) {
            addCriterion("loveNum between", value1, value2, "lovenum");
            return (Criteria) this;
        }

        public Criteria andLovenumNotBetween(Integer value1, Integer value2) {
            addCriterion("loveNum not between", value1, value2, "lovenum");
            return (Criteria) this;
        }

        public Criteria andTruepriceIsNull() {
            addCriterion("truePrice is null");
            return (Criteria) this;
        }

        public Criteria andTruepriceIsNotNull() {
            addCriterion("truePrice is not null");
            return (Criteria) this;
        }

        public Criteria andTruepriceEqualTo(BigDecimal value) {
            addCriterion("truePrice =", value, "trueprice");
            return (Criteria) this;
        }

        public Criteria andTruepriceNotEqualTo(BigDecimal value) {
            addCriterion("truePrice <>", value, "trueprice");
            return (Criteria) this;
        }

        public Criteria andTruepriceGreaterThan(BigDecimal value) {
            addCriterion("truePrice >", value, "trueprice");
            return (Criteria) this;
        }

        public Criteria andTruepriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("truePrice >=", value, "trueprice");
            return (Criteria) this;
        }

        public Criteria andTruepriceLessThan(BigDecimal value) {
            addCriterion("truePrice <", value, "trueprice");
            return (Criteria) this;
        }

        public Criteria andTruepriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("truePrice <=", value, "trueprice");
            return (Criteria) this;
        }

        public Criteria andTruepriceIn(List<BigDecimal> values) {
            addCriterion("truePrice in", values, "trueprice");
            return (Criteria) this;
        }

        public Criteria andTruepriceNotIn(List<BigDecimal> values) {
            addCriterion("truePrice not in", values, "trueprice");
            return (Criteria) this;
        }

        public Criteria andTruepriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("truePrice between", value1, value2, "trueprice");
            return (Criteria) this;
        }

        public Criteria andTruepriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("truePrice not between", value1, value2, "trueprice");
            return (Criteria) this;
        }

        public Criteria andSalepriceIsNull() {
            addCriterion("salePrice is null");
            return (Criteria) this;
        }

        public Criteria andSalepriceIsNotNull() {
            addCriterion("salePrice is not null");
            return (Criteria) this;
        }

        public Criteria andSalepriceEqualTo(BigDecimal value) {
            addCriterion("salePrice =", value, "saleprice");
            return (Criteria) this;
        }

        public Criteria andSalepriceNotEqualTo(BigDecimal value) {
            addCriterion("salePrice <>", value, "saleprice");
            return (Criteria) this;
        }

        public Criteria andSalepriceGreaterThan(BigDecimal value) {
            addCriterion("salePrice >", value, "saleprice");
            return (Criteria) this;
        }

        public Criteria andSalepriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("salePrice >=", value, "saleprice");
            return (Criteria) this;
        }

        public Criteria andSalepriceLessThan(BigDecimal value) {
            addCriterion("salePrice <", value, "saleprice");
            return (Criteria) this;
        }

        public Criteria andSalepriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("salePrice <=", value, "saleprice");
            return (Criteria) this;
        }

        public Criteria andSalepriceIn(List<BigDecimal> values) {
            addCriterion("salePrice in", values, "saleprice");
            return (Criteria) this;
        }

        public Criteria andSalepriceNotIn(List<BigDecimal> values) {
            addCriterion("salePrice not in", values, "saleprice");
            return (Criteria) this;
        }

        public Criteria andSalepriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("salePrice between", value1, value2, "saleprice");
            return (Criteria) this;
        }

        public Criteria andSalepriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("salePrice not between", value1, value2, "saleprice");
            return (Criteria) this;
        }

        public Criteria andIssaleIsNull() {
            addCriterion("isSale is null");
            return (Criteria) this;
        }

        public Criteria andIssaleIsNotNull() {
            addCriterion("isSale is not null");
            return (Criteria) this;
        }

        public Criteria andIssaleEqualTo(Byte value) {
            addCriterion("isSale =", value, "issale");
            return (Criteria) this;
        }

        public Criteria andIssaleNotEqualTo(Byte value) {
            addCriterion("isSale <>", value, "issale");
            return (Criteria) this;
        }

        public Criteria andIssaleGreaterThan(Byte value) {
            addCriterion("isSale >", value, "issale");
            return (Criteria) this;
        }

        public Criteria andIssaleGreaterThanOrEqualTo(Byte value) {
            addCriterion("isSale >=", value, "issale");
            return (Criteria) this;
        }

        public Criteria andIssaleLessThan(Byte value) {
            addCriterion("isSale <", value, "issale");
            return (Criteria) this;
        }

        public Criteria andIssaleLessThanOrEqualTo(Byte value) {
            addCriterion("isSale <=", value, "issale");
            return (Criteria) this;
        }

        public Criteria andIssaleIn(List<Byte> values) {
            addCriterion("isSale in", values, "issale");
            return (Criteria) this;
        }

        public Criteria andIssaleNotIn(List<Byte> values) {
            addCriterion("isSale not in", values, "issale");
            return (Criteria) this;
        }

        public Criteria andIssaleBetween(Byte value1, Byte value2) {
            addCriterion("isSale between", value1, value2, "issale");
            return (Criteria) this;
        }

        public Criteria andIssaleNotBetween(Byte value1, Byte value2) {
            addCriterion("isSale not between", value1, value2, "issale");
            return (Criteria) this;
        }

        public Criteria andIsbestIsNull() {
            addCriterion("isBest is null");
            return (Criteria) this;
        }

        public Criteria andIsbestIsNotNull() {
            addCriterion("isBest is not null");
            return (Criteria) this;
        }

        public Criteria andIsbestEqualTo(Byte value) {
            addCriterion("isBest =", value, "isbest");
            return (Criteria) this;
        }

        public Criteria andIsbestNotEqualTo(Byte value) {
            addCriterion("isBest <>", value, "isbest");
            return (Criteria) this;
        }

        public Criteria andIsbestGreaterThan(Byte value) {
            addCriterion("isBest >", value, "isbest");
            return (Criteria) this;
        }

        public Criteria andIsbestGreaterThanOrEqualTo(Byte value) {
            addCriterion("isBest >=", value, "isbest");
            return (Criteria) this;
        }

        public Criteria andIsbestLessThan(Byte value) {
            addCriterion("isBest <", value, "isbest");
            return (Criteria) this;
        }

        public Criteria andIsbestLessThanOrEqualTo(Byte value) {
            addCriterion("isBest <=", value, "isbest");
            return (Criteria) this;
        }

        public Criteria andIsbestIn(List<Byte> values) {
            addCriterion("isBest in", values, "isbest");
            return (Criteria) this;
        }

        public Criteria andIsbestNotIn(List<Byte> values) {
            addCriterion("isBest not in", values, "isbest");
            return (Criteria) this;
        }

        public Criteria andIsbestBetween(Byte value1, Byte value2) {
            addCriterion("isBest between", value1, value2, "isbest");
            return (Criteria) this;
        }

        public Criteria andIsbestNotBetween(Byte value1, Byte value2) {
            addCriterion("isBest not between", value1, value2, "isbest");
            return (Criteria) this;
        }

        public Criteria andIshotIsNull() {
            addCriterion("isHot is null");
            return (Criteria) this;
        }

        public Criteria andIshotIsNotNull() {
            addCriterion("isHot is not null");
            return (Criteria) this;
        }

        public Criteria andIshotEqualTo(Byte value) {
            addCriterion("isHot =", value, "ishot");
            return (Criteria) this;
        }

        public Criteria andIshotNotEqualTo(Byte value) {
            addCriterion("isHot <>", value, "ishot");
            return (Criteria) this;
        }

        public Criteria andIshotGreaterThan(Byte value) {
            addCriterion("isHot >", value, "ishot");
            return (Criteria) this;
        }

        public Criteria andIshotGreaterThanOrEqualTo(Byte value) {
            addCriterion("isHot >=", value, "ishot");
            return (Criteria) this;
        }

        public Criteria andIshotLessThan(Byte value) {
            addCriterion("isHot <", value, "ishot");
            return (Criteria) this;
        }

        public Criteria andIshotLessThanOrEqualTo(Byte value) {
            addCriterion("isHot <=", value, "ishot");
            return (Criteria) this;
        }

        public Criteria andIshotIn(List<Byte> values) {
            addCriterion("isHot in", values, "ishot");
            return (Criteria) this;
        }

        public Criteria andIshotNotIn(List<Byte> values) {
            addCriterion("isHot not in", values, "ishot");
            return (Criteria) this;
        }

        public Criteria andIshotBetween(Byte value1, Byte value2) {
            addCriterion("isHot between", value1, value2, "ishot");
            return (Criteria) this;
        }

        public Criteria andIshotNotBetween(Byte value1, Byte value2) {
            addCriterion("isHot not between", value1, value2, "ishot");
            return (Criteria) this;
        }

        public Criteria andIsnewIsNull() {
            addCriterion("isNew is null");
            return (Criteria) this;
        }

        public Criteria andIsnewIsNotNull() {
            addCriterion("isNew is not null");
            return (Criteria) this;
        }

        public Criteria andIsnewEqualTo(Byte value) {
            addCriterion("isNew =", value, "isnew");
            return (Criteria) this;
        }

        public Criteria andIsnewNotEqualTo(Byte value) {
            addCriterion("isNew <>", value, "isnew");
            return (Criteria) this;
        }

        public Criteria andIsnewGreaterThan(Byte value) {
            addCriterion("isNew >", value, "isnew");
            return (Criteria) this;
        }

        public Criteria andIsnewGreaterThanOrEqualTo(Byte value) {
            addCriterion("isNew >=", value, "isnew");
            return (Criteria) this;
        }

        public Criteria andIsnewLessThan(Byte value) {
            addCriterion("isNew <", value, "isnew");
            return (Criteria) this;
        }

        public Criteria andIsnewLessThanOrEqualTo(Byte value) {
            addCriterion("isNew <=", value, "isnew");
            return (Criteria) this;
        }

        public Criteria andIsnewIn(List<Byte> values) {
            addCriterion("isNew in", values, "isnew");
            return (Criteria) this;
        }

        public Criteria andIsnewNotIn(List<Byte> values) {
            addCriterion("isNew not in", values, "isnew");
            return (Criteria) this;
        }

        public Criteria andIsnewBetween(Byte value1, Byte value2) {
            addCriterion("isNew between", value1, value2, "isnew");
            return (Criteria) this;
        }

        public Criteria andIsnewNotBetween(Byte value1, Byte value2) {
            addCriterion("isNew not between", value1, value2, "isnew");
            return (Criteria) this;
        }

        public Criteria andSaleIsNull() {
            addCriterion("sale is null");
            return (Criteria) this;
        }

        public Criteria andSaleIsNotNull() {
            addCriterion("sale is not null");
            return (Criteria) this;
        }

        public Criteria andSaleEqualTo(Integer value) {
            addCriterion("sale =", value, "sale");
            return (Criteria) this;
        }

        public Criteria andSaleNotEqualTo(Integer value) {
            addCriterion("sale <>", value, "sale");
            return (Criteria) this;
        }

        public Criteria andSaleGreaterThan(Integer value) {
            addCriterion("sale >", value, "sale");
            return (Criteria) this;
        }

        public Criteria andSaleGreaterThanOrEqualTo(Integer value) {
            addCriterion("sale >=", value, "sale");
            return (Criteria) this;
        }

        public Criteria andSaleLessThan(Integer value) {
            addCriterion("sale <", value, "sale");
            return (Criteria) this;
        }

        public Criteria andSaleLessThanOrEqualTo(Integer value) {
            addCriterion("sale <=", value, "sale");
            return (Criteria) this;
        }

        public Criteria andSaleIn(List<Integer> values) {
            addCriterion("sale in", values, "sale");
            return (Criteria) this;
        }

        public Criteria andSaleNotIn(List<Integer> values) {
            addCriterion("sale not in", values, "sale");
            return (Criteria) this;
        }

        public Criteria andSaleBetween(Integer value1, Integer value2) {
            addCriterion("sale between", value1, value2, "sale");
            return (Criteria) this;
        }

        public Criteria andSaleNotBetween(Integer value1, Integer value2) {
            addCriterion("sale not between", value1, value2, "sale");
            return (Criteria) this;
        }

        public Criteria andStockIsNull() {
            addCriterion("stock is null");
            return (Criteria) this;
        }

        public Criteria andStockIsNotNull() {
            addCriterion("stock is not null");
            return (Criteria) this;
        }

        public Criteria andStockEqualTo(Integer value) {
            addCriterion("stock =", value, "stock");
            return (Criteria) this;
        }

        public Criteria andStockNotEqualTo(Integer value) {
            addCriterion("stock <>", value, "stock");
            return (Criteria) this;
        }

        public Criteria andStockGreaterThan(Integer value) {
            addCriterion("stock >", value, "stock");
            return (Criteria) this;
        }

        public Criteria andStockGreaterThanOrEqualTo(Integer value) {
            addCriterion("stock >=", value, "stock");
            return (Criteria) this;
        }

        public Criteria andStockLessThan(Integer value) {
            addCriterion("stock <", value, "stock");
            return (Criteria) this;
        }

        public Criteria andStockLessThanOrEqualTo(Integer value) {
            addCriterion("stock <=", value, "stock");
            return (Criteria) this;
        }

        public Criteria andStockIn(List<Integer> values) {
            addCriterion("stock in", values, "stock");
            return (Criteria) this;
        }

        public Criteria andStockNotIn(List<Integer> values) {
            addCriterion("stock not in", values, "stock");
            return (Criteria) this;
        }

        public Criteria andStockBetween(Integer value1, Integer value2) {
            addCriterion("stock between", value1, value2, "stock");
            return (Criteria) this;
        }

        public Criteria andStockNotBetween(Integer value1, Integer value2) {
            addCriterion("stock not between", value1, value2, "stock");
            return (Criteria) this;
        }

        public Criteria andGoodsscoreIsNull() {
            addCriterion("goodsScore is null");
            return (Criteria) this;
        }

        public Criteria andGoodsscoreIsNotNull() {
            addCriterion("goodsScore is not null");
            return (Criteria) this;
        }

        public Criteria andGoodsscoreEqualTo(Integer value) {
            addCriterion("goodsScore =", value, "goodsscore");
            return (Criteria) this;
        }

        public Criteria andGoodsscoreNotEqualTo(Integer value) {
            addCriterion("goodsScore <>", value, "goodsscore");
            return (Criteria) this;
        }

        public Criteria andGoodsscoreGreaterThan(Integer value) {
            addCriterion("goodsScore >", value, "goodsscore");
            return (Criteria) this;
        }

        public Criteria andGoodsscoreGreaterThanOrEqualTo(Integer value) {
            addCriterion("goodsScore >=", value, "goodsscore");
            return (Criteria) this;
        }

        public Criteria andGoodsscoreLessThan(Integer value) {
            addCriterion("goodsScore <", value, "goodsscore");
            return (Criteria) this;
        }

        public Criteria andGoodsscoreLessThanOrEqualTo(Integer value) {
            addCriterion("goodsScore <=", value, "goodsscore");
            return (Criteria) this;
        }

        public Criteria andGoodsscoreIn(List<Integer> values) {
            addCriterion("goodsScore in", values, "goodsscore");
            return (Criteria) this;
        }

        public Criteria andGoodsscoreNotIn(List<Integer> values) {
            addCriterion("goodsScore not in", values, "goodsscore");
            return (Criteria) this;
        }

        public Criteria andGoodsscoreBetween(Integer value1, Integer value2) {
            addCriterion("goodsScore between", value1, value2, "goodsscore");
            return (Criteria) this;
        }

        public Criteria andGoodsscoreNotBetween(Integer value1, Integer value2) {
            addCriterion("goodsScore not between", value1, value2, "goodsscore");
            return (Criteria) this;
        }

        public Criteria andCreatetimeIsNull() {
            addCriterion("createTime is null");
            return (Criteria) this;
        }

        public Criteria andCreatetimeIsNotNull() {
            addCriterion("createTime is not null");
            return (Criteria) this;
        }

        public Criteria andCreatetimeEqualTo(Date value) {
            addCriterion("createTime =", value, "createtime");
            return (Criteria) this;
        }
        
        public Criteria andCreatetimeLike(String value) {
            addCriterion("createTime like", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeNotEqualTo(Date value) {
            addCriterion("createTime <>", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeGreaterThan(Date value) {
            addCriterion("createTime >", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeGreaterThanOrEqualTo(Date value) {
            addCriterion("createTime >=", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeLessThan(Date value) {
            addCriterion("createTime <", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeLessThanOrEqualTo(Date value) {
            addCriterion("createTime <=", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeIn(List<Date> values) {
            addCriterion("createTime in", values, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeNotIn(List<Date> values) {
            addCriterion("createTime not in", values, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeBetween(Date value1, Date value2) {
            addCriterion("createTime between", value1, value2, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeNotBetween(Date value1, Date value2) {
            addCriterion("createTime not between", value1, value2, "createtime");
            return (Criteria) this;
        }

        public Criteria andLasttimeIsNull() {
            addCriterion("lastTime is null");
            return (Criteria) this;
        }

        public Criteria andLasttimeIsNotNull() {
            addCriterion("lastTime is not null");
            return (Criteria) this;
        }

        public Criteria andLasttimeEqualTo(Date value) {
            addCriterion("lastTime =", value, "lasttime");
            return (Criteria) this;
        }

        public Criteria andLasttimeNotEqualTo(Date value) {
            addCriterion("lastTime <>", value, "lasttime");
            return (Criteria) this;
        }

        public Criteria andLasttimeGreaterThan(Date value) {
            addCriterion("lastTime >", value, "lasttime");
            return (Criteria) this;
        }

        public Criteria andLasttimeGreaterThanOrEqualTo(Date value) {
            addCriterion("lastTime >=", value, "lasttime");
            return (Criteria) this;
        }

        public Criteria andLasttimeLessThan(Date value) {
            addCriterion("lastTime <", value, "lasttime");
            return (Criteria) this;
        }

        public Criteria andLasttimeLessThanOrEqualTo(Date value) {
            addCriterion("lastTime <=", value, "lasttime");
            return (Criteria) this;
        }

        public Criteria andLasttimeIn(List<Date> values) {
            addCriterion("lastTime in", values, "lasttime");
            return (Criteria) this;
        }

        public Criteria andLasttimeNotIn(List<Date> values) {
            addCriterion("lastTime not in", values, "lasttime");
            return (Criteria) this;
        }

        public Criteria andLasttimeBetween(Date value1, Date value2) {
            addCriterion("lastTime between", value1, value2, "lasttime");
            return (Criteria) this;
        }

        public Criteria andLasttimeNotBetween(Date value1, Date value2) {
            addCriterion("lastTime not between", value1, value2, "lasttime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}